PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像

您所在的位置:网站首页 python xgboost 示例 PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像

PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像

#PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像| 来源: 网络整理| 查看: 265

原文链接:http://tecdat.cn/?p=24346

最近我们被客户要求撰写关于用户流失数据挖掘的研究报告,包括一些图形和统计输出。

在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集中地体现在对客户的争夺上

“用户就是上帝”促使众多的企业不惜代价去争夺尽可能多的客户。但是企业在不惜代价发展新用户的过程中,往往会忽视或无暇顾及已有客户的流失情况,结果就导致出现这样一种窘况:一边是新客户在源源不断地增加,而另一方面是辛辛苦苦找来的客户却在悄然无声地流失。因此对老用户的流失进行数据分析从而挖掘出重要信息帮助企业决策者采取措施来减少用户流失的事情至关重要,迫在眉睫。

1.2 目的:

深入了解用户画像及行为偏好,挖掘出影响用户流失的关键因素,并通过算法预测客户访问的转化结果,从而更好地完善产品设计、提升用户体验。

1.3 数据说明:

此次数据是携程用户一周的访问数据,为保护客户隐私,已经将数据经过了脱敏,和实际商品的订单量、浏览量、转化率等有一些差距,不影响问题的可解性。

2 读取数据

# 显示全部特征 df.head()

3 切分数据# 划分训练集,测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=666)3.1 理解数据

可以看到变量比较的多,先进行分类,除去目标变量label,此数据集的字段可以分成三个类别:订单相关指标、客户行为相关指标、酒店相关指标。

4 特征工程

# 用训练集进行数据探索 train = pd.concat([X_train,y_train],axis=1)

4.1 数据预处理

4.1.1 删除不必要的列X_train.pop("sampleid") X_test.pop("sampleid") train.pop("sampleid")

4.1.2 数据类型转换

字符串类型的特征需要处理成数值型才能建模,将arrival和d相减得到"提前预定的天数",作为新的特征

# 增加列 # 将两个日期变量由字符串转换为日期格式类型 train["arrial"] = pd.to_datimetain["arrval"]) X_tst["arival"] = d.to_daetime(X_est["arival"]) # 生成提前预定时间列(衍生变量) X_trin["day_adanced"] = (X_rain["arival"]-Xtrain["d"]).dt.days ## 删除列 X_tran.dro(columns="d","arrivl"],inpace=True)

4.1.3 缺失值的变量生成一个指示哑变量

zsl = tain.isnll().sum()[tain.isnll(.sum()!=0].inex4.1.4 根据业务经验填补空缺值

ordernum_oneyear 用户年订单数为0 ,lasthtlordergap 11%用600000填充 88%用600000填充 一年内距离上次下单时长,ordercanncelednum 用0填充 用户一年内取消订单数,ordercanceledprecent 用0t填充 用户一年内取消订单率 242114 242114 -为空 有2种情况 1:新用户未下订单的空-88.42% 214097 2.老用户1年以上未消费的空 增加编码列未下订单新用户和 1年未下订单的老用户price_sensitive -0 ,中位数填充 价格敏感指数,consuming_capacity -0 中位数填充 消费能力指数 226108 -为空情况 1.从未下过单的新用户214097 2.12011个人为空原因暂不明确uv_pre -24小时历史浏览次数最多酒店历史uv. cr_pre -0,中位数填充 -24小时历史浏览次数最多酒店历史cr -0,中位数填充 29397 -为空 1.用户当天未登录APP 28633 2.刚上线的新酒店178 586 无uv,cr记录 编码添加 该APP刚上线的新酒店 764 29397customereval_pre2 用0填充-24小时历史浏览酒店客户评分均值, landhalfhours -24小时内登陆时长 -用0填充28633 -为空:用户当天未登录APP 28633hotelcr ,hoteluv -中位数填充 797

刚上新酒店 60 #未登录APP 118

avgprice 0 填充一部分价格填充为0 近一年未下过订单的人数,cr 用0填充,

tkq = ["hstoryvsit_7ordernm","historyviit_visit_detaipagenum","frstorder_b","historyvi # tbkq = ["hitoryvsit_7dernum","hisryvisit_isit_detailagenum"] X_train[i].fillna(0,inplace=True) ## 一部分用0填充,一部分用中位數填充 # 新用戶影響的相關屬性:ic_sniti,cosuing_cacity n_l = picesensitive","onsmng_cpacty"] fori in n_l X_trini][Xra[X_trinnew_ser==1].idex]=0 X_est[i][X_test[X_test.nw_user==1].inex]=0 4.1.5 异常值处理

将customer_value_profit、ctrip_profits中的负值按0处理将delta_price1、delta_price2、lowestprice中的负值按中位数处理

for f in flter_two: a = X_trin[].median() X_tran[f][X_train[f]

7.3 高价值用户分析

占比19.02,访问频率和预定频率都较高,消费水平高,客户价值大,追求高品质,对酒店星级要求高,客户群体多集中在老客户中,建议:多推荐口碑好、性价比高的商务酒店连锁酒店房源吸引用户;在非工作日的11点、17点等日间流量小高峰时段进行消息推送。为客户提供更多差旅地酒店信息;增加客户流失成本:会员积分制,推出会员打折卡

7.4 潜力用户分析

占比:80.98% 访问频率和预定频率都较低,消费水平较低,对酒店星级要求不高,客户群体多集中在新客户中,客户价值待挖掘 建议:因为新用户居多,属于潜在客户,建议把握用户初期体验(如初期消费有优惠、打卡活动等),还可以定期推送实惠的酒店给此类用户,以培养用户消费惯性为主;推送的内容应多为大减价、大酬宾、跳楼价之类的;由于这部分用户占比较多,可结合该群体流失情况分析流失客户因素,进行该群体市场的开拓,进一步进行下沉分析,开拓新的时长。

关于作者

Lijie Zhang逻辑思辨能力强,考虑问题全面,熟练掌握数据清洗和数据预处理、绘图和可视化展示,熟悉机器学习 sklearn, xgboost 等库进行数据挖掘和数据建模,掌握机器学习的线性回归、逻辑回归、主成分分析、聚类、决策树、随机森林、 xgboost、 svm、神经网络算法。

本文摘选 PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像 ,点击“阅读原文”获取全文完整资料。

点击标题查阅往期内容

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化R语言基于树的方法:决策树,随机森林,Bagging,增强树R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测spss modeler用决策树神经网络预测ST的股票R语言中使用线性模型、回归决策树自动组合特征因子水平R语言中自编基尼系数的CART回归决策树的实现R语言用rle,svm和rpart决策树进行时间序列预测python在Scikit-learn中用决策树和随机森林预测NBA获胜者python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模和交叉验证R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类R语言ISLR工资数据进行多项式回归和样条回归分析R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化如何用R语言在机器学习中建立集成模型?R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测在python 深度学习Keras中计算神经网络集成模型R语言ARIMA集成模型预测时间序列分析R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者R语言基于树的方法:决策树,随机森林,Bagging,增强树R语言基于Bootstrap的线性回归预测置信区间估计方法R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线matlab使用分位数随机森林(QRF)回归树检测异常值



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3